package com.itheima.Test_课上作业.修饰符.状态修饰符.myfinal.final修饰局部变量_03;

/*
    final可以修饰变量的.被final修饰的变量特点:
        1. 如果被修饰的变量是基本数据类型, 变量一旦初始化,其值不可变!
        2. 如果被修饰的变量是引用数据类型, 变量一旦初始化,其地址值不可变!
 */
public class Demo {
    public static void main(String[] args) {
        //1. 如果被修饰的变量是基本数据类型, 变量一旦初始化,其值不可变!
        //常量: 程序运行期间,其值不能发生改变的量就是常量!!!
        //自定义常量: 被final修饰的变量又叫自定义常量.
        // Java中自定义常量命令规范: 所有单词字母全部大写.如果有多个单词组成,每个单词之间用_分割!
        final int A = 10;
        final int AGE_NUMBER = 20;

        System.out.println(A);
        System.out.println("AGE_NUMBER = " + AGE_NUMBER);

        //创建一个Student对象
        //2. 如果被修饰的变量是引用数据类型, 变量一旦初始化,其地址值不可变!
        final Student STU;
        STU = new Student();
        STU.name = "张三";
        STU.name = "李四";
        System.out.println("STU = " + STU);
        //错误: 如果被修饰的变量是引用数据类型, 变量一旦初始化,其地址值不可变!
       // STU = new Student();
       // System.out.println("STU = " + STU);
    }
}
